# -*- coding: utf-8 -*-
# created by Alberthch - 陈航  2021/7/15 20:26
# Description:你想排序类型相同的对象，但是他们不支持原生的比较操作，就是无法直接使用><进行比较
# 解决方法，使用python内置函数sorted（），但是要传入key参数,key传入一个可调用对象，该对象为每一个传入的对象返回一个值

from operator import attrgetter


class User:
    def __init__(self, user_id):
        self.user_id = user_id

    def __repr__(self):
        return 'User({})'.format(self.user_id)


# Example
users = [User(23), User(3), User(99)]
print(users)

# Sort it by user-id
print(sorted(users, key=lambda u: u.user_id))
print(sorted(users, key=attrgetter('user_id')))
